/*
assert 接口使用 except 用异常来实现断言。
**/

#ifndef _ASSERT_H_MY_
#define _ASSERT_H_MY_
#include "except.h"


extern const Except_T ex_assert_failed;


// 使用函数出错位置的文件名和行号只能定位到 assert.c 推荐使用宏
extern void assert(int expression);

#ifdef NDEBUG
	#define assert(e) ((void)0)
#else
	#define assert(e) (void)((e) || (RAISE(ex_assert_failed), 0))
#endif

#endif // _ASSERT_H_MY_
